Mixed inter/intra video coding of macroblock partitions

ABSTRACT

A video encoder and corresponding method are provided for mixed inter/intra encoding of a macroblock having a plurality of partitions, where the encoder includes a reference picture weighting applicator coupled with a reference picture weighting factor unit for assigning weighting factors corresponding to each of the inter and intra coded partitions, respectively; and the corresponding method for encoding a macroblock with several partitions includes inter-coding at least one partition and intra-coding at least a second partition.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit, under 35 U.S.C. § 365 ofInternational Application PCT/US04/00074, filed Jan. 6, 2004, which waspublished in accordance with PCT Article 21(2) on Jul. 29, 2004 inEnglish and which claims the benefit of U.S. provisional patentapplication No. 60/438,427, filed Jan. 7, 2003.

FIELD OF THE INVENTION

The present invention is directed towards video encoders, and moreparticularly, towards an apparatus and method for encoding mixedinterblock and intrablock video.

BACKGROUND OF THE INVENTION

Video data is generally processed and transferred in the form of bitstreams. Typical video compression encoders gain much of theircompression efficiency by forming a reference picture prediction of apicture or macroblock to be encoded, and encoding the difference betweenthe current picture and the prediction. The more closely that theprediction is correlated with the current picture, the fewer the numberof bits that are needed to compress that picture, thereby increasing theefficiency of the process. Thus, it is desirable for the best possiblereference picture prediction to be formed.

Interblock (“inter”) and intrablock (“intra”) coding are commonly usedin video compression standards. Generally, an encoder makes aninter/intra coding decision for each macroblock based on codingefficiency and subjective quality considerations. Some partitions (e.g.,16×8, 8×16 or 8×8 sub-blocks) of a 16×16 macroblock, for example, mightbe more efficiently coded using intra coding while other partitions ofthe same macroblock might be more efficiently coded using inter coding.

Thus, each individual macroblock was either coded as Intra, i.e., usingonly spatial correlation, or coded as Inter, i.e., using temporalcorrelation from previously coded frames. Inter coding is typically usedfor macroblocks that are well predicted from previous frames, and intracoding is generally used for macroblocks that are not well predictedfrom previous frames, or for macroblocks with low spatial activity.

The JVT video compression standard, which is also known as H.264 andMPEG AVC, uses tree-structured hierarchical macroblock partitions.Inter-coded 16×16 pixel macroblocks may be broken into macroblockpartitions, of sizes 16×8, 8×16, or 8×8. 8×8 macroblock partitions arealso known as sub-macroblocks. Sub-macroblocks may also be broken intosub-macroblock partitions, of sizes 8×4, 4×8, and 4×4. An encoder mayselect how to divide the macroblock into partitions and sub-macroblockpartitions based on the characteristics of a particular macroblock inorder to maximize compression efficiency and subjective quality.

Multiple reference pictures may be used for Inter prediction, with areference picture index coded to indicate which of the multiplereference pictures is used. In P pictures (or P slices), only singledirectional prediction is used, and the allowable reference pictures aremanaged in list 0. In B pictures (or B slices), two lists of referencepictures are managed, list 0 and list 1. In B pictures (or B slices),single directional prediction using either list 0 or list 1 is allowed,or bi-prediction using both list 0 and list 1 is allowed. Whenbi-prediction is used, the list 0 and the list 1 predictors are averagedtogether to form a final predictor.

Each macroblock partition may have independent reference pictureindices, prediction type (e.g., list 0, list 1, bi-prediction), and anindependent motion vector. Each sub-macroblock partition may haveindependent motion vectors, but all sub-macroblock partitions in thesame sub-macroblock use the same reference picture index and predictiontype.

It was proposed that intra prediction could be used for some of thepartitions of an inter-coded macroblock. Because of complexity concerns,ultimately this flexibility was disallowed, and intra-coding mode is notallowed for individual macroblock partitions under the currentstandards. Some of the increased complexity in supporting both inter andintra coded partitions inside the same macroblock is due to the intraspatial directional prediction used in the JVT standard. Disallowingmixed inter/intra coding inside the same macroblock can hurt codingefficiency and especially subjective quality. For some blocks in animage, intra coding is more efficient than intra coding.

The Main and Extended profiles of the JVT standard provide a tool forweighted prediction. When weighted prediction is in use, a weightingfactor and an offset are applied to inter predictions. For singledirectional prediction, the weighted predictor is formed as:SampleP=Clip1(((SampleP0·W ₀+2^(LWD−1))>>LWD)+O ₀);and for bi-directional prediction, the weighted predictor is formed as:SampleP=Clip1((SampleP0·W ₀+SampleP1·W ₁+2^(LWD))>>(LWD+1)+(O ₀ +O₁+1)>>1);where W₀ and O₀ are the list 0 reference picture weighting factor andoffset, respectively, and W₁ and O₁ are the list 1 reference pictureweighting factor and offset, and LWD is the log weightdenominator-rounding factor. SampleP₀ and SampleP₁ are the list 0 andlist 1 initial predictors, and SampleP is the weighted predictor.Weighting factors and offsets are optionally coded in the slice headerand are associated with particular reference picture indices.

The relevant syntax elements in the JVT standard are:

luma_log_weight_denom, chroma_log_weight_denom, luma_weight_I0,chroma_weight_I0, luma_offset_I0, chroma_offset_I0, luma_weight_I1,chroma_weight_I1, luma_offset_I1, and chroma_offset_I1.

In addition, more than one reference picture index can be associatedwith a particular reference picture store by using reference picturereordering, which allows more than one weighting factor to be used whilepredicting from the same reference picture store.

The Joint Video Team (“JVT”) video compression standard explicitlysupports 16×16 pixel macroblocks being divided into smaller sizedmacroblock partitions for inter coding, but does not support intercoding of some partitions of a macroblock and intra coding of otherpartitions of the same macroblock.

SUMMARY OF THE INVENTION

These and other drawbacks and disadvantages of the prior art areaddressed by an apparatus and method that provide mixed inter/intracoding of macroblocks through the use of weighted prediction.

A video encoder and corresponding method are provided for mixedinter/intra encoding of a macroblock having a plurality of partitions,where the encoder includes a reference picture weighting applicatorcoupled with a reference picture weighting factor unit for assigningweighting factors corresponding to each of the inter and intra codedpartitions, respectively; and the corresponding method for encoding amacroblock with several partitions includes inter-coding at least onepartition and intra-coding at least a second partition.

Exemplary embodiments of the present invention are capable of providingmixed inter/intra coding in compliance with the JVT compression standardthrough the use of weighted prediction. In accordance with theprinciples of the invention, mixed inter/intra coding of partitionswithin the same macroblock is allowed, which can improve codingefficiency as well as subjective video quality.

These and other aspects, features and advantages of the presentinvention will become apparent from the following description ofexemplary embodiments, which is to be read in connection with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention may be better understood in accordance with thefollowing exemplary figures, in which:

FIG. 1 shows a block diagram for a standard video encoder;

FIG. 2 shows a block diagram for a video encoder with reference pictureweighting;

FIG. 3 shows a block diagram for a video encoder with integrated motionestimation and weighting prediction; and

FIG. 4 shows a flow diagram for a method of encoding macroblocks inaccordance with the principles of the present invention.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The Joint Video Team (“JVT”) video compression standard supportsdivision of 16×16 pixel macroblocks into smaller sized macroblockpartitions for inter coding, but does not allow inter coding of somepartitions of a macroblock and intra coding of other partitions of thesame macroblock. In embodiments of the present invention, mixedinter/intra coding can be accomplished using the JVT compressionstandard, using weighted prediction.

The instant description illustrates the principles and variousembodiments of the present invention. It will thus be appreciated thatthose skilled in the art will be able to devise various arrangementsthat, although not explicitly described or shown herein, embody theprinciples of the invention and are included within its spirit andscope.

All examples and conditional language recited herein are intended forpedagogical purposes to aid the reader in understanding the principlesof the invention and the concepts contributed by the inventor tofurthering the art, and are to be construed as being without limitationto such specifically recited examples and conditions.

Moreover, all statements herein reciting principles, aspects, andembodiments of the invention, as well as specific examples thereof, areintended to encompass both structural and functional equivalentsthereof. Additionally, it is intended that such equivalents include bothcurrently known equivalents as well as equivalents developed in thefuture, i.e., any elements developed that perform the same function,regardless of structure.

Thus, for example, it will be appreciated by those skilled in the artthat the block diagrams presented herein represent conceptual views ofillustrative circuitry embodying the principles of the invention.Similarly, it will be appreciated that any flow charts, flow diagrams,state transition diagrams, pseudocode, and the like represent variousprocesses which may be substantially represented in computer readablemedia and so executed by a computer or processor, whether or not suchcomputer or processor is explicitly shown.

The functions of the various elements shown in the figures may beprovided through the use of dedicated hardware as well as hardwarecapable of executing software in association with appropriate software.When provided by a processor, the functions may be provided by a singlededicated processor, by a single shared processor, or by a plurality ofindividual processors, some of which may be shared. Moreover, explicituse of the term “processor” or “controller” should not be construed torefer exclusively to hardware capable of executing software, and mayimplicitly include, without limitation, digital signal processor (“DSP”)hardware, read-only memory (“ROM”) for storing software, random accessmemory (“RAM”), and non-volatile storage.

Other hardware, conventional and/or custom, may also be included.Similarly, any switches shown in the figures are conceptual only. Theirfunction may be carried out through the operation of program logic,through dedicated logic, through the interaction of program control anddedicated logic, or even manually, the particular technique beingselectable by the implementer as more specifically understood from thecontext.

In the claims hereof, any element expressed as a means for performing aspecified function is intended to encompass any way of performing thatfunction including, for example, a) a combination of circuit elementsthat performs that function or b) software in any form, including,therefore, firmware, microcode or the like, combined with appropriatecircuitry for executing that software to perform the function. Theinvention as defined by such claims resides in the fact that thefunctionalities provided by the various recited means are combined andbrought together in the manner which the claims call for. Applicant thusregards any means that can provide those functionalities as equivalentto those shown herein.

As shown in FIG. 1, a standard video encoder is indicated generally bythe reference numeral 100. An input to the encoder 100 is connected insignal communication with a non-inverting input of a summing junction110. The output of the summing junction 110 is connected in signalcommunication with a block transform function 120. The transformer 120is connected in signal communication with a quantizer 130. The output ofthe quantizer 130 is connected in signal communication with a variablelength coder (“VLC”) 140, where the output of the VLC 140 is anexternally available output of the encoder 100.

The output of the quantizer 130 is further connected in signalcommunication with an inverse quantizer 150. The inverse quantizer 150is connected in signal communication with an inverse block transformer160, which, in turn, is connected in signal communication with areference picture store 170. A first output of the reference picturestore 170 is connected in signal communication with a first input of amotion estimator 180. The input to the encoder 100 is further connectedin signal communication with a second input of the motion estimator 180.The output of the motion estimator 180 is connected in signalcommunication with a first input of a motion compensator 190. A secondoutput of the reference picture store 170 is connected in signalcommunication with a second input of the motion compensator 190. Theoutput of the motion compensator 190 is connected in signalcommunication with an inverting input of the summing junction 110.

Turning to FIG. 2, a video encoder with reference picture weighting isindicated generally by the reference numeral 200. An input to theencoder 200 is connected in signal communication with a non-invertinginput of a summing junction 210. The output of the summing junction 210is connected in signal communication with a block transformer 220. Thetransformer 220 is connected in signal communication with a quantizer230. The output of the quantizer 230 is connected in signalcommunication with a VLC 240, where the output of the VLC 440 is anexternally available output of the encoder 200.

The output of the quantizer 230 is further connected in signalcommunication with an inverse quantizer 250. The inverse quantizer 250is connected in signal communication with an inverse block transformer260, which, in turn, is connected in signal communication with areference picture store 270. A first output of the reference picturestore 270 is connected in signal communication with a first input of areference picture weighting factor assignor 272. The input to theencoder 200 is further connected in signal communication with a secondinput of the reference picture weighting factor assignor 272. The outputof the reference picture weighting factor assignor 272, which isindicative of a weighting factor, is connected in signal communicationwith a first input of a motion estimator 280. A second output of thereference picture store 270 is connected in signal communication with asecond input of the motion estimator 280.

The input to the encoder 200 is further connected in signalcommunication with a third input of the motion estimator 280. The outputof the motion estimator 280, which is indicative of motion vectors, isconnected in signal communication with a first input of a motioncompensator 290. A third output of the reference picture store 270 isconnected in signal communication with a second input of the motioncompensator 290. The output of the motion compensator 290, which isindicative of a motion compensated reference picture, is connected insignal communication with a first input of a multiplier 292. The outputof the reference picture weighting factor assignor 272, which isindicative of a weighting factor, is connected in signal communicationwith a second input of the multiplier 292. The output of the multiplier292 is connected in signal communication with an inverting input of thesumming junction 210.

In U.S. patent application Ser. No. 10/410,481, filed Apr. 9, 2003,having a common assignee, and entitled “ADAPTIVE WEIGHTING OF REFERENCEPICTURES IN VIDEO DECODING”; and in U.S. patent application Ser. No.10/410,456, also filed Apr. 9, 2003 and also having a common assignee,and entitled “ADAPTIVE WEIGHTING OF REFERENCE PICTURES IN VIDEOENCODING”, both of which are incorporated herein by reference in theirentireties; an apparatus and method are disclosed which utilize a set ofweighting factors transmitted once per picture or slice, with aparticular weighting factor associated with each reference pictureindex.

Turning now to FIG. 3, a video encoder with integrated motion estimationand weighting prediction is indicated generally by the reference numeral300. An input to the encoder 300 is connected in signal communicationwith a non-inverting input of a summing junction 310. The output of thesumming junction 310 is connected in signal communication with a blocktransformer 320. The transformer 320 is connected in signalcommunication with a quantizer 330. The output of the quantizer 330 isconnected in signal communication with a VLC 340, where the output ofthe VLC 340 is an externally available output of the encoder 300.

The output of the quantizer 330 is further connected in signalcommunication with an inverse quantizer 350. The inverse quantizer 350is connected in signal communication with an inverse block transformer360, which, in turn, is connected in signal communication with areference picture store 370. A first output of the reference picturestore 370 is connected in signal communication with a first input of areference picture weighting factor selector 372. The input to theencoder 300 is further connected in signal communication with a secondinput of the reference picture weighting factor selector 372 to providethe current picture to the selector. The output of the reference pictureweighting factor selector 372, which is indicative of a weightingfactor, is connected in signal communication with a first input of amultiplier 374. A second input of the multiplier 374 is connected insignal communication with the reference picture output of the referencepicture store 370. It should be noted that although shown simply as amultiplier 374, other types of weighting factor applicators may beconstructed other than a multiplier, as would be apparent to those ofordinary skill in the art.

The output of the multiplier 374 is connected in signal communicationwith a weighted reference picture store 376. The output of the weightedreference picture store 376 is connected in signal communication with afirst input of a motion estimator 380 for providing a weighted referencepicture. The output of the motion estimator 380 is connected in signalcommunication with a first motion compensator 382 for providing motionvectors. The output of the motion estimator 380 is further connected insignal communication with a first input of a second motion compensator390. A second output of the weighted reference picture store 376 isconnected in signal communication with a second input of the firstmotion compensator 382.

The output of the first motion compensator 382, which is indicative of aweighted motion compensated reference picture, is connected in signalcommunication with a first input of an absolute difference generator384. The input to the encoder 300, which is the current picture, isfurther connected in signal communication with a second input of theabsolute difference generator 384. The output of the absolute differencefunction 384 is connected in signal communication with a third input ofthe reference picture weighting factor selector 372.

A third output of the reference picture store 370 is connected in signalcommunication with a second input of the second motion compensator 390.The output of the second motion compensator 390, which is indicative ofa motion compensated reference picture, is connected in signalcommunication with a first input of a multiplier 392. The output of thereference picture weighting factor selector 372, which is indicative ofa weighting factor, is connected in signal communication with a secondinput of the multiplier 392. The output of the multiplier 392 isconnected in signal communication with an inverting input of the summingjunction 310.

In U.S. patent application Ser. No. 10/410,479, filed Apr. 9, 2003 andhaving a common assignee, and entitled “MOTION ESTIMATION WITH WEIGHTINGPREDICTION”, and which is incorporated herein by reference in itsentirety; an apparatus and method are disclosed for combining theweighting factor search with the motion estimation search, resulting ina higher number of computations performed for finding the weightingfactor with motion estimation than for performing estimation alone inthe absence of reference picture weighting.

As shown in FIG. 4, a flow diagram for a method of encoding macroblocksis indicated generally by the reference numeral 400. Here, a begin block410 passes control to a function block 412, which finds the best Intermacroblock division, calculates the cost for each partition, CPINTER;and calculates the cost for the entire macroblock, CINTER. The block 412passes control to a function block 414, which finds the best Intraprediction direction and calculates the cost for the entire macroblock,CINTRA. The block 414 passes control to a decision block 416, whichdetermines whether CINTER is less than CINTRA.

If CINTER is not less than CINTRA, control passes to a function block418 that Intra codes the entire macroblock, and then passes control toan end block 434. If, on the other hand, CINTER is less than CINTRA,control passes to a function block 420, which uses Inter coding for themacroblock and selects the first (i=0) partition of the macroblock. Theblock 420 passes control to a function block 422, which calculates thecost for the current partition, CPINTRA_(i), which is coded as Intrausing a zero weighting factor. The block 422, in turn, passes control toa decision block 424, which determines whether CPINTER_(i) is less thanCPINTRA_(i).

If CPINTER_(i) is less than CPINTRA_(i), control passes to a functionblock 426, which Inter codes the current partition i, and passes controlto a decision block 430. If, on the other hand, CPINTER_(i) is not lessthan CPINTRA_(i), control passes to a function block 428, whichnon-predictively Intra codes the partition i using a zero weightingfactor, and passes control to the decision block 430.

The decision block 430, in turn, determines whether the currentpartition i is the last partition in the macroblock. If the currentpartition i is not the last partition in the macroblock, control passesto a function block 432, which increments the current partition i, andpasses control back to the function block 422. If, on the other hand,the current partition i is the last partition in the macroblock, thencontrol passes to the end block 434.

Thus, in operation of the present invention, mixed inter/intra coding ofpartitions of the same macroblock can be accomplished using the JVTcompression standard. Intra coding of a macroblock partition isaccomplished by using a weighting factor of zero with the weightedprediction tool in the Main and Extended profiles of the JVT standard.This type of intra coding is referred to as non-predictive intra coding,to differentiate it from the spatial directional intra coding used whenentire macroblocks are intra coded. A macroblock containing somenon-predictive intra coded partitions is still considered to be an intercoded macroblock.

A weighting factor of zero is coded in the slice header, associated witha particular reference picture index. The encoder may associate multiplereference picture indices with a particular reference picture store,using reference picture reordering, in order to allow both a zero and anon-zero weighting factor to be associated with a particular referencepicture store. Or the encoder may choose to use the default referencepicture ordering, without using reference picture reordering, and toassociate only a zero weighting factor with a particular referencepicture store. If only a zero weighting factor is associated with agiven reference picture store, it can not be used for inter prediction,so the encoder will select to do this when it is determined that thisreference picture store would not be frequently selected for interprediction. A long-term reference picture can be associated with a zeroweighting factor for this purpose.

For the single directional prediction case, with a weighting factor ofzero, the weighted prediction formula for calculating the interprediction:SampleP=Clip1(((SampleP0·W ₀+2^(LWD−1))>>LWD)+O ₀)becomes:SampleP=O₀

The offset value O₀ may be set to be equal to zero, or to 128, or to anyother desired value. MPEG-1 and MPEG-2 effectively use an offset of 128for intra coding.

With a sample prediction of zero or of O₀ for all pixels of a macroblockpartition, the macroblock partition is effectively intra coded, butspatial directional prediction is not performed. The partition isreferred to as being non-predictive intra coded.

In B pictures (or B slices), non-predictive intra coding for amacroblock partition can be accomplished either by selecting only List 0or List 1 prediction and the reference picture index which wasassociated with a zero weighting factor. Alternatively, bi-predictioncould be used, with a zero weighting factor sent in the slice header fora particular index for list 0 and for another index for list 1, andnon-predictive intra coding could be accomplished for that macroblockpartition by coding using bi-prediction with the appropriate zeroweighting factor associated reference picture indices for list 0 andlist 1.

In a preferred embodiment of the present invention, a JVT video encoderencodes the macroblocks of a picture. When encoding a given macroblock,in addition to determining how to divide a macroblock into partitionsand sub-macroblock partitions, the encoder determines whether is it ismore advantageous for each macroblock partition to be coded asnon-predictive intra or as inter (e.g., list 0, list 1, direct, orbi-predictive). For those macroblock partitions(s) which are to be codedas non-predictive intra, an inter coding mode (e.g., list 0, list 1,direct, or bi-predictive) is used in the mb_type for that partition,with reference picture indices used that are associated with a zeroweighting factor. Non-predictive intra coded partitions are not furtherdivided in sub-macroblock partitions, as is generally allowed for 8×8sub-macroblock partitions, as additional bits would be required toindicate the division into sub-macroblock partitions, with no benefit.The differential motion vector for the non-predictive intra codedpartition is set to zero, because that will use the fewest number ofbits to code, and all possible values of the motion vector will yieldthe same decoded pixels.

Using this method, intra coding is effectively accomplished for some butnot all of the partitions of a macroblock, which is compatible with theJVT compression standard. No intra spatial directional prediction isperformed for non-predictive intra coded partitions.

An exemplary method for encoding a macroblock in accordance with theproposed invention is shown in the flowchart 400 described with respectto FIG. 4. The best division of the macroblock into macroblockpartitions and sub-macroblock partitions for Inter coding of themacroblock is determined using rate-distortion optimization, and a costmeasure is calculated for each partition, CPINTER_(i), and for theentire macroblock, CINTER. The cost for coding the partition includesthe cost of coding the reference picture index, the motion vector, andthe prediction residual. Then the best Intra spatial predictiondirection for the Intra coding of the macroblock is determined and acost measure is calculated for Intra coding of the entire macroblock,CINTRA. Then if CINTER is not less than CINTRA, the entire macroblock iscoded as Intra, using spatial directional prediction. Otherwise, themacroblock is coded as an inter macroblock.

Next, each partition of the inter macroblock is considered to be codedas inter or non-predictive intra. The cost for intra coding thepartition, using zero weighted prediction is computed, CPINTRA_(i),considering the cost of coding the reference picture index, and theresidual, and the zero valued differential motion vector cost.

If for the partition i CPINTER_(i) is less than CPINTRA_(i), thepartition i will be inter coded normally, and may be further dividedinto sub-macroblock partitions. Otherwise, the partition will benon-predictive intra coded, by selecting the reference picture indexassociated with a zero weighting factor.

These and other features and advantages of the present invention may bereadily ascertained by one of ordinary skill in the pertinent art basedon the teachings herein. It is to be understood that the principles ofthe present invention may be implemented in various forms of hardware,software, firmware, special purpose processors, or combinations thereof.

Most preferably, the principles of the present invention are implementedas a combination of hardware and software. Moreover, the software ispreferably implemented as an application program tangibly embodied on aprogram storage unit. The application program may be uploaded to, andexecuted by, a machine comprising any suitable architecture. Preferably,the machine is implemented on a computer platform having hardware suchas one or more central processing units (“CPU”), a random access memory(“RAM”), and input/output (“I/O”) interfaces. The computer platform mayalso include an operating system and microinstruction code. The variousprocesses and functions described herein may be either part of themicroinstruction code or part of the application program, or anycombination thereof, which may be executed by a CPU. In addition,various other peripheral units may be connected to the computer platformsuch as an additional data storage unit and a printing unit.

It is to be further understood that, because some of the constituentsystem components and methods depicted in the accompanying drawings arepreferably implemented in software, the actual connections between thesystem components or the process function blocks may differ dependingupon the manner in which the present invention is programmed. Given theteachings herein, one of ordinary skill in the pertinent art will beable to contemplate these and similar implementations or configurationsof the present invention.

Although the illustrative embodiments have been described herein withreference to the accompanying drawings, it is to be understood that thepresent invention is not limited to those precise embodiments, and thatvarious changes and modifications may be effected therein by one ofordinary skill in the pertinent art without departing from the scope orspirit of the present invention. All such changes and modifications areintended to be included within the scope of the present invention as setforth in the appended claims.

1. A method for encoding a macroblock having a plurality of partitions,the method comprising: inter-coding at least one of said plurality ofpartitions; and intra-coding at least a second of said plurality ofpartitions wherein said intra-coding comprises providing a referencepicture index that is associated with a weighting factor of zero.
 2. Amethod as defined in claim 1 wherein said macroblock comprises videodata in compliance with the Joint Video Team (“JVT”) standard.
 3. Amethod as defined in claim 1 wherein said macroblock comprises anon-intra macroblock type.
 4. A method as defined in claim 1 whereinsaid intra-coding comprises non-predictive intra-coding performed withina weighted prediction encoding mode by using a weighting factor of zerowith a weighted prediction tool from at least one of the Main andExtended profiles of the JVT standard.
 5. A method as defined in claim4, further comprising coding a zero differential motion vector for apartition that is non-predictively intra-coded.
 6. A method as definedin claim 1 wherein the inter-coded at least one of said plurality ofpartitions has a reference picture index associated with a non-zerovalued weighting factor.
 7. A method as defined in claim 6, furthercomprising deciding between inter-coding and non-predictive intra-codingof a partition in response to a measure of cost for each coding method.8. A method as defined in claim 1, further comprising: associating aplurality of reference picture indices with a particular referencepicture store using reference picture reordering commands; and assigninga zero weight to one of the plurality of reference picture indices andnon-zero weights to the other reference picture indices.
 9. A method forencoding a macroblock having at least one partition, the methodcomprising non-predictively intra-coding the at least one partition byproviding a reference picture index that is associated with a weightingfactor of zero, wherein said non-predictive intra-coding is performedwithin a weighted prediction encoding mode by using a weighting factorof zero with a weighted prediction tool from at least one of the Mainand Extended profiles of the JVT standard.
 10. A video encoder for mixedinter/intra encoding of a macroblock having a plurality of partitions,the encoder comprising: a reference picture weighting applicator; and areference picture weighting factor unit in signal communication with thereference picture weighting applicator for assigning weighting factorscorresponding to each of the mixed inter and intra coded partitions,respectively.
 11. A video encoder as defined in claim 10, furthercomprising a motion compensation unit in signal communication with thereference picture weighting applicator for providing at least one eachof a motion compensated inter and intra coded partition, respectively.12. A video encoder as defined in claim 11, further comprising areference picture store in signal communication with each of thereference picture weighting factor unit and the motion compensation unitfor storing at least one each of a motion compensated inter and intracoded partition, respectively.
 13. A video encoder as defined in claim11 wherein the reference picture weighting applicator applies aweighting factor selected by the reference picture weighting factor unitto at least one of the motion compensated inter and intra codedpartitions, respectively.
 14. A video encoder as defined in claim 13usable with bi-predictive picture predictors, the encoder furthercomprising prediction means for forming first and second predictors fromthe at least one weighted and motion compensated inter/intra codedpartition.
 15. A video encoder as defined in claim 10, furthercomprising: inter-coding means for inter-coding at least one partitionof a macroblock; and intra-coding means for intra-coding at least asecond partition of the macroblock.
 16. A video encoder as defined inclaim 15 wherein said macroblock comprises video data in compliance withthe Joint Video Team (“JVT”) standard.
 17. A video encoder as defined inclaim 15 wherein said macroblock comprises a non-intra macroblock type.18. A video encoder as defined in claim 15 wherein said intra-codingmeans comprises indexing means for providing a reference picture indexthat is associated with a weighting factor of zero.
 19. A video encoderas defined in claim 15, further comprising non-predictive intra-codingmeans for coding a zero differential motion vector for a partition thatis non-predictively intra-coded.
 20. A video encoder as defined in claim15 wherein the inter-coded at least one of said plurality of partitionshas a reference picture index associated with a non-zero valuedweighting factor.
 21. A video encoder as defined in claim 20, furthercomprising decision means for deciding between inter-coding andnon-predictive intra-coding of a partition in response to a measure ofcost for each coding method.
 22. A video encoder as defined in claim 15,further comprising: reference picture reordering means for associating aplurality of reference picture indices with a particular referencepicture store using reference picture reordering commands; and weightingmeans for assigning a zero weight to one of the plurality of referencepicture indices and non-zero weights to at least one other referencepicture index.
 23. An apparatus for encoding a macroblock having aplurality of partitions comprising: means for inter-coding at least oneof said plurality of partitions; and means for intra-coding at least asecond of said plurality of partitions, wherein said means forintra-coding utilizes a reference picture index that is associated witha weighting factor of zero.